package worldinruin.gui;

import java.util.List;

import worldinruin.core.IGame;
import worldinruin.core.IMap;

public interface IGui {

	/**
	 * Method to change panels to display on the cardlayout.
	 * @param name Name of the panel.
	 */
	void showPage(String name);
	
	/**
	 * Adds a gameviewpanel to the frame.
	 * @param game Game to be initialized.
	 */
	void addGameViewMainPanel(IGame game);
	
	/**
	 * Updates in-game messages through the messagepanel.
	 * @param text Relay message to users.
	 */
	void updateMessage(String text);
	
	/**
	 * Changes the active player in the GUI.
	 */
	void setActivePlayer();
	
	/**
	 * Gets the chosen map when creating a new game.
	 * @return Chosen map in maplist.
	 */
	IMap getChosenMap();
	
	/**
	 * Takes all playernames in a game and collects it in a list.
	 * @return List of player names.
	 */
	List<String> getPlayerNames();
}
